
/*
   基于ESP8266
   烤箱改回流焊程序，基于Max6675+K型电偶测温
   将数据以csv格式存放TF卡，
   提供WEB接口，提供实时温度状态，预设温度曲线，以曲线图
   形式展示。
   温控流程：
   1、选择温度曲线配置，读取SD卡，选择默认温度曲线配置；
   2、根据温度曲线加热（PID部分后考虑），过程记录温度数据；
   3、加热结束警报开箱散热。
   4、预计增加显示设备，显示实时温度，曲线设定温度，当前进度，总进度。
   5、内置默认温控曲线，无SD或者SD中无配置，则启用默认配置。
   注：温控曲线支持pid调温，pid将永久性存储在SPIFS中。
   提供两种连接模式，默认为AP模式，可于WEBAPI中设置模式为Client模式，
   联网配置存于中SPIFS中
*/
#include "SSD1306Wire.h"
#include "OLEDDisplayUi.h"

#include <SPI.h>
#include <SD.h>

//---------------------SSD1306--------------------------------
SSD1306Wire  display(0x3c, 1, 3);

void init_screen() {
  display.init();
  display.flipScreenVertically();
  display.setFont(ArialMT_Plain_10);

}
void show(String txt) {
  display.clear();
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  display.setFont(ArialMT_Plain_16);
  display.drawString(64, 0, "220.1°C / 280°C");
  display.drawHorizontalLine(0, 18, 128);
  display.setFont(ArialMT_Plain_16);
  display.drawString(64, 20, "20:23 / 30:00");
  display.drawHorizontalLine(0, 38, 128);

  display.setTextAlignment(TEXT_ALIGN_LEFT);
  display.setFont(ArialMT_Plain_10);
  display.drawString(0, 40, "MODE:");
  display.drawString(34, 40, "Client");
  display.drawString(65, 40, "SD:");
  display.drawString(84, 40, "23G/64G");
  display.drawString(0, 52, "SSID:");
  display.drawString(34, 52, "LINKSYS_5G");
  display.display();
}
//------------------------TF Ccard----------------------------

File root;
void init_sd() {
  if (!SD.begin(SS)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
}



//-----------------------MAX 6675-----------------------------




void setup() {
  Serial.begin(115200);
  init_screen();
}

void loop() {
  show("");

  delay(100);
}
